package com.xy.biz.xd.domain.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@ApiModel("修订-上传文件请求")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class UploadDocumentFlowModifyRequest {

    /**
     * 流程文件信息
     */
    @ApiModelProperty("流程文件信息")
    @NotEmpty
    private List<DocumentFlowInfo> documentFlowInfoList;
    /**
     * 流程Id
     */
    @ApiModelProperty("流程Id")
    @NotNull
    private Long documentFlowId;
    /**
     * 处理意见
     */
    @ApiModelProperty("处理意见")
    @NotBlank
    private String opinion;
    /**
     * 处理结果
     */
    @ApiModelProperty("处理结果")
    @NotBlank
    private Integer result;
    /**
     * 编辑人
     */
    @ApiModelProperty("编辑人")
    @NotNull
    private Long editUserId;

    @NoArgsConstructor
    @AllArgsConstructor
    @Data
    public static class DocumentFlowInfo {
        /**
         * 文件Id
         */
        @ApiModelProperty("文件Id")
        @NotNull
        private Long documentId;
        /**
         * 上一个文件Id
         */
        @ApiModelProperty("上一个文件Id")
        @NotNull
        private Long previousDocumentId;
        /**
         * 文件编号
         */
        @ApiModelProperty("文件编号")
        @NotBlank
        private String documentCode;
    }
}
